itk_module_test()
set(
  ITKIOTIFFTests
  itkTIFFImageIOTest.cxx
  itkTIFFImageIOTest2.cxx
  itkTIFFImageIOCompressionTest.cxx
  itkLargeTIFFImageWriteReadTest.cxx
  itkTIFFImageIOInfoTest.cxx
  itkTIFFImageIOTestPalette.cxx
  itkTIFFImageIOIntPixelTest.cxx
)

createtestdriver(ITKIOTIFF "${ITKIOTIFF-Test_LIBRARIES}" "${ITKIOTIFFTests}")

itk_add_test(
  NAME
  itkTIFFImageIOTest
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTest_cthead1.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTest_cthead1.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest1
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImage.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImage.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImage.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImage.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest2
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageCCITTFax3.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax3.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageCCITTFax3.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax3.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest3
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageCCITTFax4.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax4.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageCCITTFax4.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax4.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest4
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageGray.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageGray.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageGray.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageGray.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest5
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageHuffmanRLE.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageHuffmanRLE.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageHuffmanRLE.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageHuffmanRLE.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest6
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageJPEG.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageJPEG.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageJPEG.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageJPEG.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest7
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageLZW.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageLZW.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageLZW.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageLZW.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest8
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageNone.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageNone.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageNone.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageNone.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest9
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImagePackBits.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImagePackBits.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImagePackBits.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImagePackBits.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest10
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageZIP.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageZIP.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageZIP.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageZIP.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOTest11
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/ShortTestImage.tiff}
  ${ITK_TEST_OUTPUT_DIR}/ShortTestImage.tiff
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/ShortTestImage.tiff}
  ${ITK_TEST_OUTPUT_DIR}/ShortTestImage.tiff
  2
  2
)
itk_add_test(
  NAME
  itkTIFFImageIOTest12
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/48BitTestImage.tif}
  ${ITK_TEST_OUTPUT_DIR}/48BitTestImage.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/48BitTestImage.tif}
  ${ITK_TEST_OUTPUT_DIR}/48BitTestImage.tif
  2
  2
)
itk_add_test(
  NAME
  itkTIFFImageIOTest13
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageCCITTFax3.mha}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax3.mha
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageCCITTFax3.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax3.mha
)
itk_add_test(
  NAME
  itkTIFFImageIOTest14
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/RGBTestImageCCITTFax4.mha}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax4.mha
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/RGBTestImageCCITTFax4.tif}
  ${ITK_TEST_OUTPUT_DIR}/RGBTestImageCCITTFax4.mha
)
itk_add_test(
  NAME
  itkTIFFImageIOTest15
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTest15.png
  fd894cf735a09380c3492f46b39a0ab9
  itkTIFFImageIOTest
  DATA{Input/jello.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTest15.png
  2
  2
)

itk_add_test(
  NAME
  itkTIFFImageIOMultiPagesTest
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/ramp.tif}
  ${ITK_TEST_OUTPUT_DIR}/ramp.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/ramp.tif}
  ${ITK_TEST_OUTPUT_DIR}/ramp.tif
  3
)
itk_add_test(
  NAME
  itkTIFFImageIOMultiPagesTest2
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/rampShort.tif}
  ${ITK_TEST_OUTPUT_DIR}/rampShort.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/rampShort.tif}
  ${ITK_TEST_OUTPUT_DIR}/rampShort.tif
  3
  3
)
itk_add_test(
  NAME
  itkTIFFImageIOMultResTest1
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOMultResTest1.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1-multires.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOMultResTest1.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOMultResTest2
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOMultResTest2.tif
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1-multires.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOMultResTest2.tif
  3
)
itk_add_test(
  NAME
  itkTIFFImageIOSpacing
  COMMAND
  ITKIOTIFFTestDriver
  itkTIFFImageIOTest2
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOSpacing.tif
)
itk_add_test(
  NAME
  itkTIFFImageIOFloatTest
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{Baseline/rampFloat.tif}
  ${ITK_TEST_OUTPUT_DIR}/rampFloat.tif
  itkTIFFImageIOTest
  DATA{Baseline/rampFloat.tif}
  ${ITK_TEST_OUTPUT_DIR}/rampFloat.tif
  3
  4
)
itk_add_test(
  NAME
  itkTIFFImageIORGBATest
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{Baseline/itkTIFFImageIORGBATestBaseline.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIORGBATest.tif
  itkTIFFImageIOTest
  DATA{Input/RGBAHead.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIORGBATest.tif
  3
  5
)

itk_add_test(
  NAME
  itkTIFFImageIOOrientation1
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation1.tif
  itkTIFFImageIOTest
  DATA{Input/cthead_oriet_tl.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation1.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOOrientation2
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation2.tif
  itkTIFFImageIOTest
  DATA{Input/cthead_oriet_bl.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation2.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOOrientation3
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation3.tif
  itkTIFFImageIOTest
  DATA{Input/cthead_oriet_br.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation3.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOOrientation4
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/cthead1.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation4.tif
  itkTIFFImageIOTest
  DATA{Input/cthead_oriet_tr.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOOrientation4.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOPlannarConfig1
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOPlannarConfig1.tif
  e3db5c8b5ddfb17dc708330c66a22659
  itkTIFFImageIOTest
  DATA{Input/oxford.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOPlannarConfig1.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOPlannarConfig2
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOPlannarConfig2.tif
  91975481ba66709c8f3ccb538af5cd2a
  itkTIFFImageIOTest
  DATA{Input/ps-separated.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOPlannarConfig2.tif
  2
  1
)
itk_add_test(
  NAME
  itkTIFFImageIOTestUShortPlanarConfig2
  COMMAND
  ITKIOTIFFTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/IO/ShortPlanarTestImage.tiff}
  ${ITK_TEST_OUTPUT_DIR}/ShortPlanarTestImage.tiff
  itkTIFFImageIOTest
  DATA{${ITK_DATA_ROOT}/Input/ShortPlanarTestImage.tiff}
  ${ITK_TEST_OUTPUT_DIR}/ShortPlanarTestImage.tiff
  2
  5
)

itk_add_test(
  NAME
  itkTIFFImageIOInfoTest1
  COMMAND
  ITKIOTIFFTestDriver
  itkTIFFImageIOInfoTest
  DATA{Input/single-channel.ome.tif}
)
set_tests_properties(
  itkTIFFImageIOInfoTest1
  PROPERTIES
    PASS_REGULAR_EXPRESSION
      "OME-XML metadata block"
)
itk_add_test(
  NAME
  itkTIFFImageIOInfoTest2
  COMMAND
  ITKIOTIFFTestDriver
  itkTIFFImageIOInfoTest
  DATA{Input/ps-separated.tif}
)
set_tests_properties(
  itkTIFFImageIOInfoTest2
  PROPERTIES
    PASS_REGULAR_EXPRESSION
      "2014:09:24 14:16:01"
)
itk_add_test(
  NAME
  itkTIFFImageIOInfoTest3
  COMMAND
  ITKIOTIFFTestDriver
  itkTIFFImageIOInfoTest
  DATA{Input/3d_spacing.tif}
)
set_tests_properties(
  itkTIFFImageIOInfoTest3
  PROPERTIES
    PASS_REGULAR_EXPRESSION
      "17 19 1"
)

######################
# Test Compression

set(Compression "NoCompression;LZW;JPEG;PackBits;Deflate;AdobeDeflate")
set(CompressionFiles "cthead1;RGBTestImageJPEG")
foreach(f ${CompressionFiles})
  foreach(c ${Compression})
    set(file TestTIFFCompression_${f}_${c}.tif})
    itk_add_test(
          NAME
          itkTIFFImageIOCompression_${f}_${c}
          COMMAND
          ITKIOTIFFTestDriver
          --compare
          DATA{Baseline/TestTIFFCompression_${f}_${c}.tif}
          ${ITK_TEST_OUTPUT_DIR}/TestTIFFCompression_${f}_${c}.tif
          itkTIFFImageIOCompressionTest
          DATA{${ITK_DATA_ROOT}/Input/${f}.tif}
          ${ITK_TEST_OUTPUT_DIR}/TestTIFFCompression_${f}_${c}.tif
          ${c}
    )
  endforeach()
endforeach()

set(Compression "JPEG")
set(CompressionFiles "cthead1")
set(Quality "1;50;100")
foreach(f ${CompressionFiles})
  foreach(q ${Quality})
    set(file TestTIFFCompression_${f}_JPEG_${q}.tif})
    itk_add_test(
          NAME
          itkTIFFImageIOCompression_${f}_JPEG_${q}
          COMMAND
          ITKIOTIFFTestDriver
          --compare
          DATA{Baseline/TestTIFFCompression_${f}_JPEG_${q}.tif}
          ${ITK_TEST_OUTPUT_DIR}/TestTIFFCompression_${f}_JPEG_${q}.tif
          itkTIFFImageIOCompressionTest
          DATA{${ITK_DATA_ROOT}/Input/${f}.tif}
          ${ITK_TEST_OUTPUT_DIR}/TestTIFFCompression_${f}_JPEG_${q}.tif
          JPEG
          ${q}
    )
  endforeach()
endforeach()

######################
if("${ITK_COMPUTER_MEMORY_SIZE}" GREATER 5)
  # Image of 1.67 Gigabytes (pixels size is 16bits)
  itk_add_test(
      NAME
      itkLargeTIFFImageWriteReadTest1
      COMMAND
      ITKIOTIFFTestDriver
      itkLargeTIFFImageWriteReadTest
      ${ITK_TEST_OUTPUT_DIR}/LargeImage01.tif
      30000L
  )

  # Image of 2.98 Gigabytes (pixels size is 16bits)
  itk_add_test(
      NAME
      itkLargeTIFFImageWriteReadTest2
      COMMAND
      ITKIOTIFFTestDriver
      itkLargeTIFFImageWriteReadTest
      ${ITK_TEST_OUTPUT_DIR}/LargeImage02.tif
      40000L
  )

  # Image of 4.9 Gigabytes (pixels size is 8-bits out and 16-bit in)
  itk_add_test(
      NAME
      itkLargeTIFFImageWriteReadTest3
      COMMAND
      ITKIOTIFFTestDriver
      itkLargeTIFFImageWriteReadTest
      ${ITK_TEST_OUTPUT_DIR}/LargeImage03.tif
      50000L
  )

  # Due to the large memory requirements this tests must be run one by one
  set_tests_properties(
    itkLargeTIFFImageWriteReadTest1
    itkLargeTIFFImageWriteReadTest2
    itkLargeTIFFImageWriteReadTest3
    PROPERTIES
      LABELS
        BigIO
      RESOURCE_LOCK
        MEMORY_SIZE
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest1
    APPEND
    PROPERTY
      LABELS
        RUNS_LONG
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest1
    APPEND
    PROPERTY
      RUN_SERIAL
        True
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest2
    APPEND
    PROPERTY
      LABELS
        RUNS_LONG
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest2
    APPEND
    PROPERTY
      RUN_SERIAL
        True
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest3
    APPEND
    PROPERTY
      LABELS
        RUNS_LONG
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest3
    APPEND
    PROPERTY
      RUN_SERIAL
        True
  )
endif()

if("${ITK_COMPUTER_MEMORY_SIZE}" GREATER 12)
  # Image of 9.12 Gigabytes (pixels size is 16bits)
  itk_add_test(
      NAME
      itkLargeTIFFImageWriteReadTest4
      COMMAND
      ITKIOTIFFTestDriver
      itkLargeTIFFImageWriteReadTest
      ${ITK_TEST_OUTPUT_DIR}/LargeImage04.tif
      70000L
  )

  # Due to the large memory requirements this tests must lock the memory size resource
  set_tests_properties(
    itkLargeTIFFImageWriteReadTest4
    PROPERTIES
      LABELS
        BigIO
      RESOURCE_LOCK
        MEMORY_SIZE
      COST
        30
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest4
    APPEND
    PROPERTY
      LABELS
        RUNS_LONG
  )
  set_property(
    TEST
      itkLargeTIFFImageWriteReadTest4
    APPEND
    PROPERTY
      RUN_SERIAL
        True
  )
endif()

# expand + RGB image
itk_add_test(
  NAME
  itkTIFFImageIOTestRGBExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestRGBExpanded.tif
  b38e265b776d8b9b23a6fb1180089b05
  itkTIFFImageIOTestPalette
  DATA{Baseline/TestTIFFCompression_RGBTestImageJPEG_PackBits.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestRGBExpanded.tif
  1
  0
)

# not expand + RGB image
itk_add_test(
  NAME
  itkTIFFImageIOTestRGBNotExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestRGBNotExpanded.tif
  b38e265b776d8b9b23a6fb1180089b05
  itkTIFFImageIOTestPalette
  DATA{Baseline/TestTIFFCompression_RGBTestImageJPEG_PackBits.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestRGBNotExpanded.tif
  0
  0
)

# not expand + palette image
itk_add_test(
  NAME
  itkTIFFImageIOTestPaletteNotExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestPaletteNotExpanded.tif
  6bc3fbf2c6743260a777c9244bd88b58
  itkTIFFImageIOTestPalette
  DATA{Input/HeliconiusNumataPalette.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestPaletteNotExpanded.tif
  0
  1
)

# expand + palette image
itk_add_test(
  NAME
  itkTIFFImageIOTestPaletteExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestPaletteExpanded.tif
  1e1a89a70b7cb472f55c450909df7b77
  itkTIFFImageIOTestPalette
  DATA{Input/HeliconiusNumataPalette.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestPaletteExpanded.tif
  1
  1
)

# not expand + grey palette image
itk_add_test(
  NAME
  itkTIFFImageIOTestGreyPaletteNotExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestGreyPaletteNotExpanded.tif
  6bc3fbf2c6743260a777c9244bd88b58
  itkTIFFImageIOTestPalette
  DATA{Input/HeliconiusNumataPalette.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestGreyPaletteNotExpanded.tif
  0
  1
)

# expand + grey palette image
itk_add_test(
  NAME
  itkTIFFImageIOTestGreyPaletteExpanded
  COMMAND
  ITKIOTIFFTestDriver
  --compare-MD5
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestGreyPaletteExpanded.tif
  1e1a89a70b7cb472f55c450909df7b77
  itkTIFFImageIOTestPalette
  DATA{Input/HeliconiusNumataPalette.tif}
  ${ITK_TEST_OUTPUT_DIR}/itkTIFFImageIOTestGreyPaletteExpanded.tif
  1
  1
)

itk_add_test(
  NAME
  itkTIFFImageIOIntPixelTest
  COMMAND
  ITKIOTIFFTestDriver
  itkTIFFImageIOIntPixelTest
  DATA{Input/int.tiff}
)

# Add GTest for TIFF module
set(ITKIOTIFFGTests itkImageSeriesReaderReverse.cxx)
creategoogletestdriver(ITKIOTIFF "${ITKIOTIFF-Test_LIBRARIES}" "${ITKIOTIFFGTests}")

target_compile_definitions(
  ITKIOTIFFGTestDriver
  PRIVATE
    "-DITK_TEST_OUTPUT_DIR=${ITK_TEST_OUTPUT_DIR}"
)
